home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / ptolemy / install < prev    next >
Text File  |  1996-11-16  |  8KB  |  236 lines

  1. Contents
  2. ========
  3.  
  4. 0    General Notes
  5.  
  6. 1       Installing Ptolemy (without Recompiling)
  7.     1.1    Set Environment Variables
  8.     1.2    Necessary Linux Changes
  9.     1.3     Installing Ptolemy Sources and Binaries
  10.  
  11. 2.      Installing and Compiling Ptolemy from Scratch
  12.     2.1     Setting Environment Variables
  13.     2.2     Necessary Linux Changes
  14.     2.3     Installing, Patching and Compiling Ptolemy, Octtools and Tcl/Tk
  15.     
  16. 3.    Known Bugs
  17.  
  18. 0   General Notes
  19. =================
  20.  
  21. This document only contains additional information! 
  22. Actual ASCII versions of installation notes are available at
  23.  
  24. ftp://ptolemy.eecs.berkeley.edu/pub/ptolemy/ptolemy0.6/INSTALL_0.6
  25.  
  26. or in hypertext form at
  27.  
  28. http://ptolemy.eecs.berkeley.edu/ptolemy0.6/INSTALL_0.6
  29.  
  30. Important Note: All following remarks are valid only for installing Ptolemy
  31.                 version 0.6 in conjunction with the Slackware distribution
  32.             3.0 of Linux (both, kernel version 1.2.13 and kernel version
  33.                 1.3.20)! All given examples are for bash! 
  34.  
  35.         Unfortunally Patrick Volkerding changed the libg++ package 
  36.         on Thu Nov 30 08:09:14 PST 1995. The new libg++ package(2.7.0a)
  37.         is buggy (a call of the gethostbyname() function causes
  38.         a Segmentation fault)! That means all C++ programs using this 
  39.         function (including Ptolemy) will not work. All binaries
  40.         linked with the old libg++ will complain that libg++.so.26 and 
  41.         libstdc++.so.26 could not be found and won't start. A link will
  42.         not fix that problem due to the incompatibilities.
  43.         A workaround is to use the previous libg++ package(2.6.2.5). 
  44.         Uninstall the libg++ package 2.7.0a and install the package 
  45.         libg++ 2.6.2.5 using the pkgtool command.
  46.  
  47. 1    Installing Ptolemy (without Recompiling)
  48. ================================================
  49.  
  50. You don't need to install the tcl7.4/tk4.0 package of Slackware 3.0.
  51. Ptolemy now needs itcl/itk and comes with it's own itcl/itk version.
  52.  
  53.  
  54. 1.1     Setting Environment Variables
  55. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56.  
  57.             Set and export variables needed to run Ptolemy:
  58.                 export PTOLEMY=/users/ptolemy
  59.                 export OCTTOOLS=$PTOLEMY/octtools
  60.                 export PTARCH=linux
  61.         export PATH=$PTOLEMY/bin:$PTOLEMY/bin.${PTARCH}:$OCTTOOLS/bin.${PTARCH}:${PATH}
  62.  
  63.             Set variable TarDir to the name of the directory, which contains
  64.             the gzipped sources and binaries. 
  65.          E.g. if  your archives reside in /var/tmp then set TarDir 
  66.         as follows:
  67.                 TarDir=/var/tmp
  68.  
  69.  
  70. 1.2     Necessary Linux Changes
  71. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  72.  
  73.     The changes 1.2a) and 1.2b) in this section are necessary only, if
  74.         you want to use your own stars.
  75.  
  76.   1.2a) Correct a wrong symbolic link:
  77.                 rm /usr/include/asm
  78.                 ln -s /usr/src/linux/include/asm-i386 /usr/include/asm
  79.  
  80.   1.2b) Add a link to find g++-includes:
  81.                 ln -s /usr/lib/g++-include /usr/include/g++
  82.  
  83.  
  84. 1.3     Installing Ptolemy Sources and Binaries
  85. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86.  
  87.             At least you need to get the follwing archives:
  88.                 pt-0.6.src.tar.gz
  89.         pt-0.6.linux.tar.gz
  90.  
  91.             Unpack and untar these archives:
  92.                 cd $PTOLEMY/..
  93.                 tar -xzvf $TarDir/pt-0.6.src.tar.gz
  94.                 tar -xzvf $TarDir/pt-0.6.linux.tar.gz
  95.  
  96.         Optionally unpack the .t files of the stars:
  97.                 tar -xzvf $TarDir/pt-0.6.xtra-src.tar.gz
  98.     
  99.         Now you are ready and Ptolemy should work fine.
  100.  
  101.  
  102. 2.    Installing and Compiling Ptolemy from Scratch
  103. =====================================================
  104.  
  105.  
  106. 2.1    Setting Environment Variables
  107. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  108.  
  109.         Set and export variables needed to build and run Ptolemy:
  110.         export PTOLEMY=/users/ptolemy
  111.                 export OCTTOOLS=$PTOLEMY/octtools
  112.         export PTARCH=linux
  113.         export PATH=$PTOLEMY/bin:$PTOLEMY/bin.${PTARCH}:$OCTTOOLS/bin.${PTARCH}:${PATH}
  114.  
  115.             Set variable TarDir to the name of the directory, 
  116.         which contains the gzipped sources and binaries. 
  117.          E.g. if  your archives reside in /var/tmp then set TarDir 
  118.         as follows:
  119.         TarDir=/var/tmp
  120.  
  121. 2.2    Necessary Linux Changes
  122. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  123.  
  124.   2.2a)    Correct a wrong symbolic link:
  125.         rm /usr/include/asm
  126.         ln -s /usr/src/linux/include/asm-i386 /usr/include/asm
  127.  
  128.   2.2b)    Add a link to find g++-includes:
  129.             ln -s /usr/lib/g++-include /usr/include/g++
  130.  
  131.   2.2c)    Install a patched gcc-2.7.0:
  132.  
  133.          get cc1plus.tar.gz and install this patched binary of cc1plus
  134.            (made by Neal Becker <neal@ctd.comsat.com>):
  135.             cd /
  136.             tar -xzvf $TarDir/cc1plus.tar.gz
  137.  
  138.  
  139. 2.3    Installing, Patching and Compiling Ptolemy, Octtools and Tcl/Tk
  140. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  141.  
  142.   NOTICE : There is a serious bug in GNU make which will prevent making
  143.        Ptolemy by just typing "make install". The neccesary steps
  144.        are listed below.
  145.  
  146.   2.3a)    Install Ptolemy sources:
  147.  
  148.         At least you need to get the follwing sources:
  149.         pt-0.6.src.tar.gz
  150.         pt-0.6.other.src.tar.gz
  151.  
  152.             Unpack and untar the sources:
  153.                 cd $PTOLEMY/..
  154.                 tar -xzvf $TarDir/pt-0.6.src.tar.gz
  155.                 tar -xzvf $TarDir/pt-0.6.other.src.tar.gz
  156.  
  157.     Remark: Ptolemy 0.6 needs itcl/itk which isn't part of the 
  158.                 Slackware 3.0 distribution. That's why we use itcl/itk
  159.                 came with pt-0.6.other.src.tar.gz.
  160.  
  161.   2.3b)    You may now decide whether to build Ptolemy with static libs or
  162.     shared libs. (See the comment in section 3) 
  163.  
  164.     Apply the appropriate patch for the config-linux.mk file :
  165.  
  166.             cd $PTOLEMY
  167.  
  168.             gzip -cd $TarDir/pt-0.6.linux-static-patch1.gz|patch -p2
  169.     or
  170.             gzip -cd $TarDir/pt-0.6.linux-dynamic-patch1.gz|patch -p2
  171.  
  172.  
  173.   2.3c)    Build Tcl/Tk, Octtools and Ptolemy:
  174.  
  175.         # start building
  176.         cd $PTOLEMY
  177.         make obj.$PTARCH >make.log 2>&1
  178.         make install_tcltk >>make.log 2>&1
  179.         make install_octtools >>make.log 2>&1
  180.         make install_gthreads >>make.log 2>&1
  181.  
  182.         # and now fiddle around to make gmake happy  
  183.         cd obj.linux/ptcl
  184.      
  185.         # create a dummy file to prevent make from sisegv'ing or aborting 
  186.         # may be you'll need to create more dummy files    
  187.         touch makefile.0
  188.       
  189.         # this is for the second bug 
  190.         # (otherwise make complains about a missing rule)
  191.         make libptcl.so >>make.log 2>&1  
  192.         cd ../..
  193.        
  194.         # and now continue the normal way
  195.         make install >>$PTOLEMY/make.log 2>&1
  196.         cd bin.linux
  197.         ln -s /usr/X11/bin/xv .
  198.  
  199.         This writes all output into the log file make.log. You can trace
  200.             the building process from another (virtual) terminal with the
  201.             command:
  202.         tail -f $PTOLEMY/make.log
  203.  
  204.         The process of building takes some time (e.g. 3:30 on a 486/100,
  205.             20 MB RAM and 1:30 on a Pentium/133, 32 MB RAM). After the
  206.             building process has finished Ptolemy occupies about 120 MB of
  207.             hard disk memory. Binaries are now linked dynamically against 
  208.         both system libraries (except for tcl/tk) and ptolemy libraries . 
  209.         Now Ptolemy should work without any problems and dynamic loading 
  210.         of stars via ELF function dlopen() should work fine too. 
  211.  
  212.  
  213. 3    Known Bugs
  214. ==================
  215.  
  216. Whenever you leave the Label Editor window (vem) with Button "Ok" or with
  217. the Button "Dismiss" you get the following error message:
  218.  
  219.     A Fatal Xt Toolkit Error has occurred:
  220.       Attempt to unmanage a child when parent is not Composite
  221.     Type 'y' to continue, 'n' to exit, 'a' to abort
  222.     (continuing may have unpredictable consequences):
  223.  
  224. If you answer with 'y', then Ptolemy continues without any further errors.
  225.  
  226. This seems to be a harmless bug in X11R6 with patch level fix-12, wich came
  227. with Slackware 3.0. In the next version of XFree86 this bug will be fixed.
  228.  
  229. It turns out that the binaries built with shared libs run about 25% slower
  230. than the statically linked binaries.
  231.  
  232. That's all. You can report any Linux specific Ptolemy bugs to Wolfgang
  233. Reimer <reimer@e-technik.tu-ilmenau.de>. Other Ptolemy bugs can be reported
  234. to the Ptolemy hackers <ptolemy-hackers@ptolemy.eecs.berkeley.edu>.
  235.  
  236.